

///#begin zh-cn
/**
 *  @class      DeviceNetPortClient
 *  @brief      端口映射相关接口
 */
///#end
///#begin en
///#end
@interface DeviceNetPortClient : NSObject


///#begin zh-cn
/**
 *  @brief          初始化端口映射
 *
 *  @return[int]    1:失败，2:成功
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (int)initClientWithServerInfo:(NSString *)aServerAddress
                     serverProt:(int)aPort;

///#begin zh-cn
/**
 *  @brief          版本号
 *
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (NSString *)version;


///#begin zh-cn
/**
 *  @brief          服务器连接状态
 *
 *  @return[int]    0：未连接，1：正在连接，2：已连接，返回9表示错误
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (int)clientStatus;


///#begin zh-cn
/**
 *  @brief          添加映射端口
 *
 *  @param[in]      sUMID[NSString]映射端口设备的umid
 *  @param[in|out]  sLocalProt[unsigned short ]本地映射端口号，如果值为0，则由系统分配端口号
 *  @return[int]    0：成功，其他：失败
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (int)addPort:(NSString *)sUMID
  outLocalPort:(unsigned short *)sLocalProt;

///#begin zh-cn
/**
 *  @brief          根据设备通道添加映射端口
 *
 *  @param[in]      sUMID[NSString]映射端口设备的umid
 *  @param[in]      aChNo[int]映射的通道号
 *  @param[in|out]  sLocalProt[unsigned short ]本地映射端口号，如果值为0，则由系统分配端口号
 *  @return[int]    0：成功，其他：失败
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (int)addPortByChNo:(NSString *)sUMID
             channel:(int)aChNo
        outLocalPort:(unsigned short *)sLocalProt;


///#begin zh-cn
/**
 *  @brief          删除映射端口
 *
 *  @param[in]      sLocalProt[unsigned short]本地映射端口号
 *  @return[int]    0：成功，其他：失败
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (void)delPort:(unsigned short)sLocalProt;


///#begin zh-cn
/**
 *  @brief          清除设备状态查询列表
 *
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (void)clearDeviceStatusList;


///#begin zh-cn
/**
 *  @brief          添加查询设备
 *
 *  @param[in]      sUMID[NSString]需要查询设备的umid
 *  @return[int]    YES：成功，NO：失败
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (BOOL)addDeviceStatusAtUMID:(NSString *)sUMID;

///#begin zh-cn
/**
 *  @brief          请求查询设备状态列表
 *
 *  @return[int]    YES：成功，NO：失败
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (BOOL)requQueryDeviceStatus;

///#begin zh-cn
/**
 *  @brief          根据umid获取设备在线状态
 *
 *  @return[int]    -1：获取失败，0：离线，1：在线
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (int)deviceStatusAtUMID:(NSString *)aUMID;

///#begin zh-cn
/**
 *  @brief  释放端口映射相关内存
 *
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (void)deallocClient;

@end
